
	package DAO;

	import java.sql.Connection;
	import java.sql.PreparedStatement;
	import java.sql.ResultSet;
	import java.sql.SQLException;
	import java.sql.Statement;
	import java.util.ArrayList;
	import java.util.List;

	import Modelo.*;
	import DBConection.ConexionBD;

	public class DependenciaDao {

	    private Connection conn;

	    public DependenciaDao() {
	        conn = ConexionBD.getConnection();
	    }

	    public void addDependencia(Dependencia objDependencia) {
	       
	    	
	    	try {
	        	  
	        	String sql = "INSERT INTO "+ConexionBD.getNombre_BD()+".TBL_Dependencias(Nombre_Dependencia)" +
	                " VALUES (? )";
	            PreparedStatement ps = conn.prepareStatement(sql);
	            ps.setString(1, objDependencia.getNombre_Dependencia());
	            ps.executeUpdate();

	        } catch (SQLException e) {
	            e.printStackTrace();
	        }
	    }

	    public void removeDependencia(int DependenciaId) {
	        try {
	                String sql = "DELETE FROM "+ConexionBD.getNombre_BD()+".TBL_Dependencias WHERE DependenciaId=?";
	            PreparedStatement ps = conn.prepareStatement(sql);
	            ps.setInt(1, DependenciaId);
	            ps.executeUpdate();

	        } catch (SQLException e) {
	            e.printStackTrace();
	        }
	      }

	    public void editDependencia(Dependencia objDependencia) {           
	        try {
	                String sql = "UPDATE "+ConexionBD.getNombre_BD()+".TBL_Dependencias SET Nombre_Dependencia=?" + 
	            " WHERE DependenciaId=?";
	            PreparedStatement ps = conn.prepareStatement(sql);
	           
	            ps.setString(1, objDependencia.getNombre_Dependencia());
	            ps.setInt(2, objDependencia.getDependenciaId());
	            ps.executeUpdate();            

	        } catch (SQLException e) {
	            e.printStackTrace();
	        }
	    }
	    
	    public List<Dependencia> getAllDependencias() {
	        List<Dependencia> objDependencias = new ArrayList();
	        try {
	            String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".TBL_Dependencias";
	            PreparedStatement ps = conn.prepareStatement(sql);
	            ResultSet rs = ps.executeQuery();
	            while (rs.next()) {
	                Dependencia objDependencia = new Dependencia();
	                objDependencia.setDependenciaId(rs.getInt("DependenciaId"));
	                objDependencia.setNombre_Dependencia(rs.getString("Nombre_Dependencia"));
	                objDependencias.add(objDependencia);
	            }
	        } catch (SQLException e) {
	            e.printStackTrace();
	        }

	        return objDependencias;
	    }

	    public Dependencia getDependenciaById(int DependenciaId) {
	    	Dependencia objDependencia = new Dependencia();
	        try {
	                String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".TBL_Dependencias WHERE DependenciaId=?";
	            PreparedStatement ps = conn.
	                    prepareStatement(sql);
	            ps.setInt(1, DependenciaId);
	            ResultSet rs = ps.executeQuery();

	            if (rs.next()) {

	                objDependencia.setDependenciaId(rs.getInt("DependenciaId"));
	                objDependencia.setNombre_Dependencia(rs.getString("Nombre_Dependencia"));
	            }
	        } catch (SQLException e) {
	            e.printStackTrace();
	        }
	        return objDependencia;
	    }
	}


